package lab03.test01.test05;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class Test05 {
    public static void main(String[] args) {

        //将字符串加密后，通过字符输出流写入文件，
        // 然后读取该文件并解密。
        // 加密算法为：将原有字符的 ASCII码加1，
        // 如'A'字符的 ASCII 码为65，
        // 加密后其 ASCII 码变成66。"
        // Hello"加密后的字符串为"Ifmmp"。


        //1.指明目标文件的路径
        File file = new File("D:\\test.txt");

        //因为要对文件进行字符串输入，所以输入要做加密的字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("输入要加密的字符串：");
        String str = sc.next();

        //存放数据的a,b

        char []a = new char[str.length()];
        char []b = new char[str.length()];

        a = str.toCharArray();
        try {

            FileWriter fileWriter = new FileWriter(file);

            //字符加密

            System.out.println("加密后的字符串：");

            for (int i = 0;i < a.length ; i++){

                int key;
                key = (int) (a[i] + 1);

                b[i] = (char)key;
                System.out.print(b[i]);

            }

            System.out.println();

            fileWriter.write(a);
            fileWriter.close();

            FileReader fileReader = new FileReader(file);
            fileReader.read(b);

            System.out.println("输出的字符串：");
            System.out.println(b);

            fileReader.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
